Code Listing 2.UniversumData class
package org.article.util;
import java.util.*;

/**
 * Sun's recomendation for value objects: 
 *	fine-grained, dependent, i.e controlled by another object,
 *  and immutable, i.e. fields are not independently modifiable **/


public class UniversumData implements java.io.Serializable, Cloneable
{
	private HashMap _attributeMap;
	
	public UniversumData(HashMap map){		this.setMap(map);	}
	
	protected void setMap(HashMap map) { _attributeMap = map;	}
	
	public HashMap getMap(){		return _attributeMap;	}
	
	public Object get(String key){
		return _attributeMap == null?null:_attributeMap.get(key);	
  }

	public Object clone() throws CloneNotSupportedException{ 
// implement clone ...
	}

